library(plyr)
library(tidyr)

source("funkce.R")

dfkrych = read.csv("Data/cohp-Bulk.csv",header=T, sep=",", dec=".")
dfstab = read.csv("Data/cohp-GB-stable.csv",header=T, sep=",", dec=".")
dfnestab = read.csv("Data/cohp-GB-unstable.csv",header=T, sep=",", dec=".")

df=dfnestab

kor=NULL
x = NULL
d=NULL
ddtw=NULL
nazvy = dvojice(df)
for (i in 2:(ncol(df)-1)){
  if(substr(nazvy$x[i-1],start = 1,stop = 2)=="Si" & substr(nazvy$y[i-1],start = 1,stop = 2)=="Si"){
    k=NA
  } else if (substr(nazvy$x[i-1],start = 1,stop = 2)=="Ni" & substr(nazvy$y[i],start = 1,stop = 2)=="Ni") {
    k=dfkrych[,6]
  } else {
    k=dfkrych[,3]
  }
  
  if (!any(is.na(k))){
    x = c(x,colnames(df)[i])
    kor = c(kor, cor(k, df[,i]))
    d = c(d,mean(abs(k-df[,i])))
    ddtw = c(ddtw,dtwMinLength(k, df[,i]))
  }
  
}

f = strsplit(x,"[..]")

t = data.frame(x=f[[1]][1], y=f[[1]][3])
for (i in 2:length(f)) t = rbind(t,data.frame(x=f[[i]][1],y=f[[i]][3]))

nazvy = dvojice(df)
f=df[,c(FALSE,substr(nazvy$x,start = 1,stop = 2)=="Ni" & substr(nazvy$y,start = 1,stop = 2)=="Ni")]
g=gather(f,fid,value)

out1 = outliers(g,unique(g$fid))$score
colnames(out1) = c("x","out")

f=df[,c(FALSE,substr(nazvy$x,start = 1,stop = 2)=="Si" & substr(nazvy$y,start = 1,stop = 2)=="Ni")]
g=gather(f,fid,value)

out2 = outliers(g,unique(g$fid))$score
colnames(out2) = c("x","out")

out = rbind(out1,out2)

####################################


df1 = data.frame(x,kor,d,ddtw)
DF = data.frame(t,join(df1, out, by = "x")[,-1])

vor = read.csv("C:\\Users\\Vendula Nechutov?\\Desktop\\Diplomka\\ulozeno\\nestab.csv")[,-1]

DF = join(DF, vor, by = c("x","y"))

write.csv(DF, file = "C:\\Users\\Vendula Nechutov?\\Desktop\\Diplomka\\ulozeno\\vse_nestab.csv")


# DOS ---------------------------------------------------------------------

dfkrych = read.csv("Data/dos-Bulk.csv",header=T, sep=",", dec=".")
dfstab = read.csv("Data/dos-GB-stable.csv",header=T, sep=",", dec=".")
dfnestab = read.csv("Data/dos-GB-unstable.csv",header=T, sep=",", dec=".")

df=dfstab

kor=NULL
x = NULL
d=NULL
ddtw=NULL
for (i in 2:(ncol(df))){
  if(substr(colnames(df)[i],start = 1,stop = 2)=="Si"){
    k=dfkrych[,2]
  } else{
    k=dfkrych[,3]
  }
  
  if (!any(is.na(k))){
    x = c(x,colnames(df)[i])
    kor = c(kor, cor(k, df[,i]))
    d = c(d,mean(abs(k-df[,i])))
    ddtw = c(ddtw,dtwMinLength(k, df[,i]))
  }
  
}


f=df[,substr(colnames(df),start = 1,stop = 2)=="Si"]
g=gather(f,fid,value)

out = outliers(g,unique(g$fid))$score
colnames(out) = c("x","out")

df1 = data.frame(x,kor,d,ddtw)
DF = data.frame(t = colnames(df)[-1],join(df1, out, by = "x")[,-1])

write.csv(DF, file = "C:\\Users\\Vendula Nechutov?\\Desktop\\Diplomka\\ulozeno\\vse_dos_stab.csv")
